Coffman conditions
1971 年に発表された論文 System Deadlocks で E. Coffman が示した デッドロック が発生する 4 つの 必要条件
言い換えれば、デッドロックを満たすには以下の 4 つの条件を満たす必要がある
Mutual Exclusion(相互排他)
ある リソース は一度に 1 つの スレッド(プロセス)しか利用できない
Hold and Wait(保持と待機)
あるスレッドがすでにロックを保持したまま、他のリソースを待っている
No Preemption(プリエンプション なし)
他のスレッドが保持しているリソースを強制的に奪うことができない
Circular Wait(循環待機)
スレッドが循環的にリソースを待っている